/'''
 ' @brief Character State Machine
 ' @see https://plantuml.com/guide
 '/
@startuml
!theme amiga
hide empty members

title Basic Character State Machine (ArcadeFighter Engine)

footer
    This is the suggested state machine behavior of a Character.
    Behavior is considered user defined and therefore NOT implemented by this library!
endfooter

mainframe Character States
[*] --> LOADING

LOADING -> OPENING_ANIME
OPENING_ANIME --> IDLE

note right of IDLE : Any state can\ncome back to Idle!
IDLE --> WALKING : Left/Right
IDLE --> JUMPING : Up
IDLE --> CROUCHING : Down
IDLE --> ATTACKING : ActionButton
IDLE --> BLOCKING : ActionButton

WALKING --> JUMPING : Up
WALKING --> CROUCHING : Down

WIN_ANIME --> OPENING_ANIME : win
WIN_ANIME --> [*] : win

LOSE_ANIME --> OPENING_ANIME : lose
LOSE_ANIME --> [*] : lose
@enduml
